package com.rgs.platform.service;

import com.github.pagehelper.PageInfo;
import com.rgs.base.core.page.IPageRequestModel;
import com.rgs.platform.entity.CrawlingCovidDO;
import com.rgs.platform.filter.CovidInfoFilterDTO;

import java.util.List;
import java.util.Optional;

/**
 * @program: com-rgs-parent
 * @description:
 * @author: Mr.Ren
 * @create: 2022-11-02 20:46
 **/
public interface CrawlingCovidService {

    int batchInsertCovidData(List<CrawlingCovidDO> covidList);


    /**
     * 根据条件获取一条数据
     *
     * @param covidInfoFilter 条件过滤器
     * @return 实例对象
     */
    Optional<CrawlingCovidDO> selectByFilter(CovidInfoFilterDTO covidInfoFilter);

    /**
     * 通过条件查询数据
     *
     * @param covidInfoFilter 条件过滤器
     * @return 实例数组
     */
    List<CrawlingCovidDO> listByFilter(CovidInfoFilterDTO covidInfoFilter);

    /**
     * 分页获取数据
     * @param iPageRequestModel     分页请求对象
     * @param covidInfoFilter        条件过滤器
     * @return 结果
     */
    PageInfo<CrawlingCovidDO> listPageByFilter(IPageRequestModel iPageRequestModel, CovidInfoFilterDTO covidInfoFilter);

    /**
     * 根据主键获取对象
     *
     * @param id 主键
     * @return 实例
     */
    CrawlingCovidDO selectById(String id);
}
